Python Python批量合并Excel数据的实现及代码示例

环境

window10
python = 3.7

代码

推荐使用方法1,
方法2 占用时间过长,小批量数据可以使用

方法1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 同一文件夹下多个Excel合并
import pandas as pd
import os
import time

# 文件路径
file_dir = 'F:/vsCodeWorkspace/python20230907excel/excel'
# 构建新的表格名称
new_filename = 'excel_1.xlsx'
# 找到文件路径下的所有表格名称,返回列表
file_list = os.listdir(file_dir)
new_list = []

for file in file_list:
# 重构文件路径
#print(file)
file_path = os.path.join(file_dir, file)
print(file_path)
# 将excel转换成DataFrame
dataframe = pd.read_excel(file_path)
# 保存到新列表中
new_list.append(dataframe)

# 多个DataFrame合并为一个
df = pd.concat(new_list)
# 写入到一个新excel表中
df.to_excel(new_filename, index=False)

方法2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

import pandas as pd

import glob
# 获取文件夹下所有Excel文件的路径
folder_path = 'F:/vsCodeWorkspace/python20230907excel/excel'

# 替换为你的文件夹路径
# file_paths = glob.glob(folder_path + '/*.xlsx')
file_paths = glob.glob(folder_path + '/*.xls')


# 修改文件扩展名(例如:.xlsx、.xls)
# 创建一个空的DataFrame来存储合并后的数据
merged_data = pd.DataFrame()
# 逐个读取并合并Excel文件
for file_path in file_paths:
df = pd.read_excel(file_path)
merged_data = merged_data.append(df, ignore_index=True)

# 将合并后的数据保存到新的Excel文件
merged_data.to_excel('excel2.xlsx', index=False)

问题及解决办法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 下载基础环境
pip install pandas -i https://mirrors.aliyun.com/pypi/simple/


# 问题
发生异常: ImportError
Missing optional dependency 'xlrd'. Install xlrd >= 1.0.0 for Excel support Use pip or conda to install xlrd.

During handling of the above exception, another exception occurred:

File "F:\vsCodeWorkspace\python20230907excel\test.py", line 18, in <module>
df = pd.read_excel(file_path)



# 解决办法
pip install xlrd -i https://mirrors.aliyun.com/pypi/simple/



# 问题

No module named 'openpyxl'
File "F:\vsCodeWorkspace\python20230907excel\test.py", line 22, in <module>
merged_data.to_excel('merged_data.xlsx', index=False)

# 解决办法
pip install openpyxl -i https://mirrors.aliyun.com/pypi/simple/

一辈子很短,努力的做好两件事就好;
第一件事是热爱生活,好好的去爱身边的人;
第二件事是努力学习,在工作中取得不一样的成绩,实现自己的价值,而不是仅仅为了赚钱;

继开 wechat
欢迎加我的微信,共同交流技术